from paddleocr import PaddleOCR
import numpy as np

from paddleocr import PaddleOCR

class OCRWrapper:
    #中文+英文混合建议使用
    def __init__(self, lang='ch_en'):
        #文字方向分类器，自动检测并纠正文字旋转角度，提高多角度文本识别准确度
        self.ocr = PaddleOCR(use_angle_cls=True, lang=lang)

    def recognize_text(self, img):
        """
        img: 可以是图片路径，也可以是 numpy 数组图像
        """
        result = self.ocr.ocr(img, cls=True)
        extracted_text = []
        # 先遍历最外层列表（页）
        for page in result:
            # 再遍历每页中的每行文本检测结果
            for line in page:
                # line结构: [box_coords, (text, score)]
                text, score = line[1]  # 这里才是正确提取文字和置信度
                extracted_text.append((text, score))
                print(f"识别文字: {text}（置信度: {score:.2f}）")  # ✅ 打印每一行
        return extracted_text